/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Pesistencia;

import BancoDados.BancoDados;
import Entidade.VendedorModel;
import java.sql.ResultSet;
import java.util.ArrayList;

/**
 *
 * @author Thalyta
 */
public class VendedorPersistencia {
  
     BancoDados bd;
     private BancoDados banco = new BancoDados();
     EnderencoPersistencia endrecos ;

    public VendedorPersistencia(EnderencoPersistencia endrecos) {
        bd = new BancoDados();
        this.endrecos = endrecos;
    }
          
  public ArrayList<VendedorModel> getListaProdutos() {
      
      
        try {
            ResultSet rs = bd.consultar("SELECT * FROM vendedor");
            ArrayList<VendedorModel> retorno = new ArrayList<>();
            while(rs.next()){
                
                
                 VendedorModel p = new VendedorModel(rs.getInt("codVendedor"), rs.getString("Nome"),rs.getString("cpf"),rs.getString("RG"),rs.getDouble("Comissao"), rs.getInt("codEndereco"),rs.getString("Telefone"),rs.getDouble("Salario"),rs.getString("DataAdmissao"));
                        
                 retorno.add(p);
            }
            return retorno;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public VendedorPersistencia(BancoDados bd) {
        this.bd = bd;
    }

    public void cadastrar( VendedorModel vendedor) {
        try {
            bd.atualizar("INSERT INTO vendedor (codVendedor, nome,CPF ,RG,Comissao,codEndereco,Telefone,Salario, DataAdmissao)  VALUES ("+vendedor.getCodigo()+" ,'"+vendedor.getNome()+"' ,'"+vendedor.getCpf()+"' ,'"+vendedor.getRg()+"',"+vendedor.getComissão()+",'"+vendedor.getEndereco()+"','"+vendedor.getTelefone()+"',"+vendedor.getSalario()+",'"+vendedor.getData()+"')");
           System.out.println("INSERT INTO vendedor (codVendedor, nome,CPF ,RG,Comissao,codEndereco,Telefone,Salario, DataAdmissao ) VALUES ("+vendedor.getCodigo()+" ,'"+vendedor.getNome()+"' ,'"+vendedor.getCpf()+"' ,'"+vendedor.getRg()+"',"+vendedor.getComissão()+","+vendedor.getEndereco()+",'"+vendedor.getTelefone()+"',"+vendedor.getSalario()+",'"+vendedor.getData()+"')");
        } catch (Exception e) {
            System.out.println("ERRO");
            e.printStackTrace();
        }
        
    }

    public  VendedorModel buscar(int codigo) {
        try {
            ResultSet rs = bd.consultar("SELECT * FROM vendedor WHERE codVendedor = "+codigo);
            rs.next();
             VendedorModel retorno;
            if(rs.getRow() == 0){
                retorno = null;
            } else {
                retorno = new VendedorModel(rs.getInt("codVendedor"), rs.getString("Nome"),rs.getString("cpf"),rs.getString("RG"),rs.getDouble("Comissao"), rs.getInt("codEndereco"),rs.getString("Telefone"),rs.getDouble("Salario"),rs.getString("DataAdmissao"));
            }
            return retorno;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }   

    public int recuperarUltimoCodigo() {
        try {
            ResultSet rs = bd.consultar("SELECT MAX(codVendedor) FROM vendedor");
            rs.next();
            int retorno;
            if(rs.getRow() == 0){
                retorno = 0;
            } else {
                retorno = rs.getInt("MAX(codVendedor)");
            }
            return retorno;
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        }
    }

    public void excluir(VendedorModel vendedor) {
        try {
            bd.atualizar("DELETE FROM vendedor WHERE (codVendedor = "+vendedor.getCodigo()+")");

            System.out.println("DELETE FROM vendedor WHERE (codVendedor = "+vendedor.getCodigo()+")");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public void editar(VendedorModel vendedor) {
        try {
            
            
            bd.atualizar("UPDATE vendedor SET nome = "+"'"+ vendedor.getNome() +"'"+", DataAdmissao = "+"'"+vendedor.getData()+"'"+ ", cpf = "+vendedor.getCpf()+",Codendereco ="+ vendedor.getEndereco()+",RG = "+"'"+vendedor.getRg()+"'"+ ", telefone =  "+"'" + vendedor.getTelefone() +"'"+" , salario = "+ vendedor.getSalario()+"  WHERE (codVendedor = "+vendedor.getCodigo()+")");

            System.out.println("UPDATE vendedor SET nome = " + vendedor.getNome() + " DataAdmissao = "+vendedor.getData()+ " cpf = "+vendedor.getCpf()+"endereco ="+ vendedor.getEndereco()+" RG = "+vendedor.getRg()+ " telefone =  "+"'" + vendedor.getTelefone() +"'" +" WHERE (codVendedor = "+vendedor.getCodigo()+")");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
      
}
